package com.tbit.uqbike.service.business;

import com.tbit.uqbike.object.pojo.dto.OrderAnalysisQueryDTO;
import com.tbit.uqbike.object.pojo.vo.OrderAnalysisVO;
import com.tbit.common.entity.view.PageResult;
import com.tbit.common.entity.view.Result;

/**
 * 用户订单分析
 *
 * @author <a href="mailto:liu.haoxiang@tbit.com.cn">BUGXiang</a>
 * @version 1.0
 * @since 2024-7-11
 */
public interface OrderAnalysisService {

    /**
     * 分页查询订单流失分析
     *
     * @param orderAnalysisQueryDTO 查询条件
     * @return Result
     */
    PageResult<OrderAnalysisVO> queryOrderAnalysis(OrderAnalysisQueryDTO orderAnalysisQueryDTO);

    /**
     * 导出订单流失分析
     *
     * @param orderAnalysisQueryDTO 查询条件
     * @return excel
     */
    Result<Object> exportOrderAnalysis(OrderAnalysisQueryDTO orderAnalysisQueryDTO);

    /**
     * 漏斗分析
     * @param orderAnalysisQueryDTO 查询条件
     * @return result
     */
    Result<Object> orderAnalysisFunnel(OrderAnalysisQueryDTO orderAnalysisQueryDTO);

    /**
     * 订单流失分析折线图
     * @param orderAnalysisQueryDTO 查询条件
     * @return result
     */
    Result<Object> orderAnalysisLine(OrderAnalysisQueryDTO orderAnalysisQueryDTO);
}
